arm64: Handle arbitrary CONFIG_SYS_MALLOC_F_LEN values
authorThierry Reding <[email protected]>
Wed, 22 Jul 2015 22:44:32 +0000 (16:44 -0600)
committerTom Warren <[email protected]>
Mon, 27 Jul 2015 22:54:28 +0000 (15:54 -0700)
commit502a2aff7637d6522f50839b4d9ac253fcb1ea6e
treef5d3131ae12cc2c46d1af9fcd027757a6d103bb1
parentf49357baadb6ff30b5c8a43019e3c655d75b036b
arm64: Handle arbitrary CONFIG_SYS_MALLOC_F_LEN values

The encoding of the sub instruction used to handle CONFIG_SYS_MALLOC_F_LEN
can only accept certain values, and the set of acceptable values differs
between the AArch32 and AArch64 instructions sets. The default value of
CONFIG_SYS_MALLOC_F_LEN works with either ISA. Tegra uses a non-default
value that can only be encoded in the AArch32 ISA. Fix the AArch64 crt0
assembly so it can handle completely arbitrary values.

Signed-off-by: Thierry Reding <[email protected]>
[twarren: trimmed Thierry's patch to remove changes already present]
Signed-off-by: Tom Warren <[email protected]>
[swarren, cleaned up patch, wrote description, re-wrote subject]
Signed-off-by: Stephen Warren <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
arch/arm/lib/crt0_64.S